/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Exercicio2;
import Exercicio1.Channel;

/**
 *
 * @author aluno
 */
public class ThreadMultiplica extends Thread {

    private int[] linha;
    private int[] coluna;
    private int linhaResp;
    private int TamMatriz;
    private Channel canalParametros, canalResposta;
    //construtor recebe a lina da matriz1 e matriz 2 inteira

    public ThreadMultiplica(int TamMatriz) {
        super();
        canalParametros = new Channel();
        canalResposta = new Channel();
        this.linha = new int[TamMatriz];
        this.coluna = new int[TamMatriz];
        this.TamMatriz = TamMatriz;
        linhaResp = 0;

    }

    //Executa as operacoes
    @Override
    public void run() {
       while(true)
       {
        for (int j = 0; j < TamMatriz; j++) {
            linha[j] = canalParametros.receive();
        }
          for (int j = 0; j < TamMatriz; j++) {
            coluna[j] = canalParametros.receive();
        }
        for (int j = 0; j < TamMatriz; j++) {
            linhaResp += linha[j] * coluna[j];
        }
        canalResposta.send(linhaResp);
        linhaResp = 0;
        }
    }

    public Channel getChannelParametros()
    {
       return this.canalParametros;
    }

     public Channel getChannelResposta()
    {
       return this.canalResposta;
    }

}
